package cn.anosi.repository.auth;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import cn.anosi.entity.auth.Role;

import java.io.Serializable;
import java.lang.String;
import java.util.List;

public interface RoleRepository extends JpaRepository<Role, Integer>,JpaSpecificationExecutor<Role>{

	/**
	 * 删除角色
	 * @param id
	 * @return
	 */
	@Modifying
	@Query("update Role r set r.isDel = 1 where r.id = ?1")
	int deleteRole(Serializable id);
	
	/**
	 * 查询所有未删除的角色
	 * @param isdel
	 * @return
	 */
	List<Role> findByIsDel(String isdel);

	/**
	 * 批量删除角色 
	 * @param ids
	 * @return
	 */
	@Modifying
	@Query("update Role r set r.isDel = 1 where r.id in (:ids)")
	int batcahDel(@Param(value="ids") List<Serializable> ids);

	Role getById(Serializable id);
}
